Technical Field
Generally, the disclosed embodiments relate to integrated circuits, and, more particularly, modifying processor operations using programmable substitutions.
Description of the Related Art
Conventional processor-based systems from personal computers to mainframes typically include a central processing unit (CPU) that is configured to access instructions or data that are stored in a main memory. Processor-based systems may also include other types of processors such as graphics processing units (GPUs), digital signal processors (DSPs), accelerated processing units (APUs), co-processors, or applications processors. Entities within the conventional processor-based system communicate by exchanging signals over buses or bridges such as a northbridge, a southbridge, a Peripheral Component Interconnect (PCI) Bus, a PCI-Express Bus, or an Accelerated Graphics Port (AGP) Bus.
Some or all of the processors, buses, or bridges in the processor-based system may be fabricated on an integrated circuit (IC) using a circuit design created by engineers, typically using automated design software. The design of an IC for a system, which may include multiple ICs, is typically verified using a suite of tests to ensure that the IC functions correctly. Testing of the IC during the design, development, fabrication, or operational stages is generally referred to as debugging the IC. With the evolution of processing technologies and reduction of size and increase in complexity of devices, debugging of circuit designs has become more and more difficult to perform using traditional simulation tools and techniques. Once a device is tested at a post-fabrication level, engineers may desire a change in operation of the device. These changes may be prompted by the discovery of a bug in the system, or by a desire to modify the capabilities or operations of the device. Designers generally use software to override the behavior of the integrated circuit. This solution can be cumbersome, and requires overriding the behavior of existing hardware of the integrated circuit, such as disable one or more features of the integrated circuit.